home *** CD-ROM | disk | FTP | other *** search
/ Professional Soft Collection 1.02 / Professional Soft Collection 1.02.iso / msmous10 / disk1 / common.in_ / common.in
Encoding:
Text File  |  1994-09-20  |  23.8 KB  |  695 lines

  1. '**************************************************************************
  2. '**************************************************************************
  3. DECLARE SUB InitialIzation
  4. DECLARE SUB BadOpSys
  5. DECLARE SUB Notadmini
  6. DECLARE SUB Disinsentive
  7. DECLARE SUB FindOldSoftWare
  8. DECLARE SUB ASKEXIT
  9. DECLARE SUB GetPath
  10. DECLARE SUB QuitInstall
  11. DECLARE SUB FillCopyList
  12. DECLARE SUB FillIniFile
  13. DECLARE SUB AddIfVersion (szSec$, szKey$, szSrc$, szDest$)
  14. DECLARE SUB UpDateIniKeyValue (szIni$, szSec$, szKey$, szVal$)
  15. DECLARE FUNCTION WriteDisToFile LIB "mscuistf.dll" (Direct$) AS INTEGER
  16. DECLARE FUNCTION ReadIniDisin   LIB "mscuistf.dll" (Direct$) AS INTEGER
  17. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  18. DECLARE FUNCTION IsWinNT LIB "mscuistf.dll" AS INTEGER
  19. DECLARE FUNCTION Launch32 LIB "mscuistf.dll" (szDir$) AS INTEGER
  20. DECLARE FUNCTION FindWindow LIB "USER" (classname$, title$) AS INTEGER
  21. DECLARE FUNCTION SetFocus LIB "USER" (x%) AS INTEGER
  22. DECLARE FUNCTION SwapMouseButton LIB "USER" (x%) AS INTEGER
  23. DECLARE FUNCTION GetString LIB "mscuistf.dll" (x%) AS INTEGER
  24. DECLARE FUNCTION SetRunLine LIB "mscuistf.dll" (lpNewLine$) AS INTEGER
  25. DECLARE FUNCTION Copy3D LIB "mscuistf.dll" (szThe$) AS INTEGER
  26. DECLARE FUNCTION SetSchemes LIB "mscuistf.dll" (szThe$) AS INTEGER
  27. DECLARE FUNCTION RegisterWindowMessage LIB "USER" (sz$) AS INTEGER
  28.  
  29. CONST DIS_NOT_INSTALLED = 101
  30. CONST DIS_INSTALLED = 202
  31. CONST DIS_CORUPTED = 303
  32.  
  33. '**************************************************************************
  34. '**************************************************************************
  35. SUB InitialIzation STATIC
  36.  
  37.     x% = GetString(8002)
  38.     sz$ = GetSymbolValue("SetupString")
  39.     SetTitle sz$
  40.     RemoveSymbol "SetupString"
  41.     SetBitmap COMDLL$, 1
  42.  
  43.     '' Read setup.inf file
  44.     szSTR$ = GetSymbolValue("STF_SRCINFPATH")
  45.     IF szSTR$ = "" THEN
  46.         szSTR$ = GetSymbolValue("STF_CWDDIR")
  47.     END IF
  48.     SETUPINF$ = szSTR$
  49.     ReadInfFile szSTR$ + "setup.inf"
  50.  
  51.     '' Find the Mother ship
  52.     HWIN% = FindWindow("SETUP", "SETUP")
  53.     
  54.     '' Get source dir
  55.     SRCDIR$ = GetSymbolValue("STF_SRCDIR")
  56.  
  57.     '' Disincentive
  58.     RetCode% = ReadIniDisin(SRCDIR$ + "setup.ini")
  59.  
  60.     '' Get windows type
  61.     WINTYPE% = IsWinNT
  62.  
  63.     IF WINTYPE% = -1 THEN
  64.         BADOPS% = 500
  65.         BadOpSys
  66.     ELSEIF WINTYPE% = 0 THEN
  67.         WINTYPE% = GetWindowsMajorVersion
  68.         IF WINTYPE% = 3 THEN
  69.             x% = GetWindowsMinorVersion
  70.             IF x% = 0 THEN
  71.                 BADOPS% = 550
  72.                 BadOpSys
  73.             ENDIF
  74.  
  75.             IF x% > 12 THEN
  76.                 WINTYPE% = 4
  77.             ENDIF
  78.  
  79.         ENDIF
  80.         IF WINTYPE% = 4 THEN
  81.             BADOPS% = 50
  82.             BadOpSys
  83.         ENDIF
  84.     ELSEIF WINTYPE% = 1 THEN
  85.         BADOPS% = 50
  86.         BadOpSys
  87.     ENDIF
  88.  
  89.     ''Make Our Default drive and path string
  90.     WINDRIVE$ = MID$(GetWindowsDir, 1, 1)
  91.     DESTDIR$ = WINDRIVE$ + DEFDIR$
  92.  
  93.     '' Set /O switch if on comand line
  94.     SETUPTYPE$ = GetIniKeyString(SRCDIR$ + "setup.lst","SetupType","OEM")
  95.  
  96.     IF SETUPTYPE$ = "TRUE" THEN
  97.         OEMTYPE% = 1
  98.     ELSE
  99.         OEMTYPE% = 0
  100.     ENDIF
  101.  
  102.     '' Kill Old Pointer   This stuff is in \common\win\inc\pointer.h
  103.     kbd& = PostMessage(FindWindow("POINTEXE","Pointer.exe Invisible Window"), 1133, 0, 0)
  104.     '' Kill Real Old Pointer
  105.     kd& = PostMessage(FindWindow("GROWSTUB",NULL),16,0,0)
  106.  
  107.     '' Kill Keyboard or Mouse managers
  108.     x% = RegisterWindowMessage("PROPWINSHUTDOWN")
  109.     kd& = PostMessage(-1,x%,0,0)
  110.  
  111. END SUB
  112. '**************************************************************************
  113.  
  114. '**************************************************************************
  115. '**************************************************************************
  116. SUB BadOpSys STATIC
  117.  
  118.     sz$ = UIStartDlg(COMDLL$, BADOPS%, "FQuitDlgProc", 0, "")
  119.     UIPopAll
  120.     END
  121.  
  122. END SUB
  123. '**************************************************************************
  124.  
  125. '**************************************************************************
  126. '**************************************************************************
  127. SUB Notadmini STATIC
  128.  
  129.     sz$ = UIStartDlg(COMDLL$, NOTADMIN, "FQuitDlgProc", 0, "")
  130.     UIPopAll
  131.     END
  132.  
  133. END SUB
  134. '**************************************************************************
  135.  
  136. '**************************************************************************
  137. '**************************************************************************
  138. SUB Disinsentive STATIC
  139.  
  140.     IF RetCode% = DIS_NOT_INSTALLED THEN
  141.  
  142. REDOO:
  143.         sz$ = UIStartDlg(COMDLL$, CDGETNAME, "FNameOrgDlgProc", 0, "")
  144.         szName$ = GetSymbolValue("NameOut")
  145.         szOrg$ = GetSymbolValue("OrgOut")
  146.  
  147.         IF sz$ = "CONTINUE" THEN
  148.             AddListItem "ConfirmTextIn", szName$
  149.             AddListItem "ConfirmTextIn", szOrg$
  150.  
  151.             sz$ = UIStartDlg(COMDLL$, CDCONFIRMINFO, "FConfirmDlgProc", 0, "")
  152.         
  153.             RemoveSymbol "ConfirmTextIn"                                
  154.             
  155.             IF sz$ = "BACK" THEN
  156.                 UIPop(1)
  157.                 GOTO REDOO
  158.             ELSE
  159.                 UIPop(2)
  160.             ENDIF
  161.  
  162.         ELSEIF sz$ = "EXIT" THEN
  163.         
  164.             ASKEXIT
  165.             
  166.             GOTO REDOO
  167.  
  168.         ENDIF
  169.  
  170.         SetSymbolValue "INSTALLEDNAME", szName$ 
  171.         SetSymbolValue "INSTALLEDORG", szOrg$ 
  172.         sx% = WriteDisToFile(SRCDIR$ + "setup.ini")
  173.         
  174.     ELSEIF RetCode% = DIS_INSTALLED THEN
  175.  
  176. DISINSTALLED:
  177.         szName$ = GetSymbolValue("INSTALLEDNAME")
  178.         szOrg$ = GetSymbolValue("INSTALLEDORG")
  179.         szSer$ = GetSymbolValue("INSTALLEDSER")
  180.  
  181.         AddListItem "ConfirmTextIn", szName$
  182.         AddListItem "ConfirmTextIn", szOrg$
  183.         AddListItem "ConfirmTextIn", szSer$
  184.  
  185.         sz$ = UIStartDlg(COMDLL$, CDALREADYUSED, "FConfirmDlgProc", 0, "")
  186.         RemoveSymbol "ConfirmTextIn"                                
  187.  
  188.         IF sz$ = "EXIT" THEN
  189.             ASKEXIT
  190.  
  191.             GOTO DISINSTALLED
  192.  
  193.         ELSE
  194.             UIPop(1)
  195.         ENDIF
  196.  
  197.     ELSEIF RetCode% = DIS_CORUPTED THEN
  198.  
  199. DISCORUPTED:
  200.         sz$ = UIStartDlg(COMDLL$, CDBADFILE, "FInfoDlgProc", 0, "")
  201.  
  202.         IF sz$ = "EXIT" THEN
  203.             ASKEXIT
  204.  
  205.             GOTO DISCORUPTED
  206.  
  207.         ELSE
  208.             UIPop(1)
  209.         ENDIF
  210.  
  211.     ENDIF
  212.  
  213. END SUB
  214. '**************************************************************************
  215.  
  216. '**************************************************************************
  217. '**************************************************************************
  218. SUB FindOldSoftWare STATIC
  219.  
  220.     DLG% = DESTPATH
  221.     Cursor% = ShowWaitCursor()
  222.  
  223.     sz$ = GetEnvVariableValue("MSINPUT")
  224.     IF sz$ <> "" THEN
  225.         IF FindFileUsingFileOpen(MakePath(sz$,"POINTER.EXE")) <> "" THEN
  226.             DESTDIR$ = sz$
  227.             DLG% = PREINSTALLED
  228.         ENDIF
  229.     ENDIF
  230.  
  231.     RestoreCursor Cursor%
  232.  
  233. END SUB
  234. '**************************************************************************
  235.  
  236. '**************************************************************************
  237. '**************************************************************************
  238. SUB GetPath STATIC
  239.  
  240.     IF DLG% = PREINSTALLED THEN
  241.         '' Do you realy want to?
  242.         sz$ = UIStartDlg(COMDLL$, WARNING, "FConfirmDlgProc", 0, "")
  243.         UIPop 1
  244.         IF sz$ = "CONTINUE" THEN
  245.             GOTO XSTALL
  246.         END IF
  247.     ENDIF
  248.  
  249.     SetSymbolValue "EditTextIn", DESTDIR$
  250.     SetSymbolValue "EditFocus", "ALL"
  251.  
  252. GETPATHL1:
  253.  
  254.     sz$ = UIStartDlg(COMDLL$, DLG%, "FEditDlgProc", 0, "")
  255.  
  256.     IF sz$ = "CONTINUE" THEN
  257.         DESTDIR$ = GetSymbolValue("EditTextOut")
  258.  
  259.         IF IsDirWritable(DESTDIR$) = 0 THEN
  260. BADPATH:
  261.             sz$ = UIStartDlg(COMDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  262.             IF sz$ = "REACTIVATE" THEN
  263.                 GOTO BADPATH
  264.             END IF
  265.             UIPop 1
  266.  
  267.             GOTO GETPATHL1
  268.  
  269.         END IF
  270. RMBACK:
  271.         IF MID$(DESTDIR$, LEN(DESTDIR$), 1) = "\" THEN
  272.             IF LEN(DESTDIR$) > 3 THEN
  273.                 DESTDIR$ = MID$(DESTDIR$, 1, LEN(DESTDIR$)-1)
  274.                 GOTO RMBACK
  275.             ENDIF
  276.         ENDIF
  277.  
  278.         UIPop 1
  279.  
  280.     ELSEIF sz$ = "REACTIVATE" THEN
  281.         GOTO GETPATHL1
  282.     ELSEIF sz$ = "BACK" THEN
  283.         x% = WinHelp(TKWIN%,SETUPINF$ + "PTSETUP.HLP", 1, 32)
  284.         GOTO GETPATHL1
  285.     ELSE
  286.         ASKEXIT
  287.  
  288.         GOTO GETPATHL1
  289.  
  290.     END IF
  291.  
  292. XSTALL:
  293.  
  294. END SUB
  295. '**************************************************************************
  296.  
  297. '*************************************************************************
  298. '*************************************************************************
  299. SUB QuitInstall STATIC
  300.  
  301.     IF ERR = 0 THEN
  302.         sz$ = UIStartDlg(COMDLL$, EXITSUCCESS, "FInfoDlgProc", 0, "")
  303.  
  304.         IF sz$ = "EXIT" THEN
  305.             x% = PostMessage(HWIN%, 2048, 100, 0)  
  306.             END
  307.         ELSEIF sz$ = "BACK" THEN
  308.             x% = PostMessage(HWIN%, 2048, 100, 1)  
  309.             END
  310.         ELSE
  311.             END
  312.         END IF
  313.  
  314.         UIPop 1
  315.         END
  316.  
  317.     ELSEIF ERR = STFQUIT THEN
  318.         dlg% = EXITQUIT
  319.     ELSE
  320.         dlg% = EXITFAILURE
  321.     END IF
  322. QUITL1:
  323.     sz$ = UIStartDlg(COMDLL$, dlg%, "FInfo0DlgProc", 0, "")
  324.     IF sz$ = "REACTIVATE" THEN
  325.         GOTO QUITL1
  326.     END IF
  327.     UIPop 1
  328.     x% = PostMessage(HWIN%, 2048, 100, 0)  
  329.     
  330.     END
  331.  
  332.     
  333. END SUB
  334. '*************************************************************************
  335.  
  336. '*************************************************************************
  337. '*************************************************************************
  338. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  339.     IF szDir$ = "" THEN
  340.         MakePath = szFile$
  341.     ELSEIF szFile$ = "" THEN
  342.         MakePath = szDir$
  343.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  344.         MakePath = szDir$ + szFile$
  345.     ELSE
  346.         MakePath = szDir$ + "\" + szFile$
  347.     END IF                 
  348. END FUNCTION
  349. '*************************************************************************
  350.  
  351. '*************************************************************************
  352. '*************************************************************************
  353. SUB ASKEXIT STATIC
  354. ASKQUIT:
  355.     sz$ = UIStartDlg(COMDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  356.     IF sz$ = "EXIT" THEN
  357.         UIPopAll
  358.         ERROR STFQUIT
  359.     ELSEIF sz$ = "REACTIVATE" THEN
  360.         GOTO ASKQUIT
  361.     ELSE
  362.         UIPop 1
  363.     END IF
  364.  
  365. END SUB
  366. '*************************************************************************
  367.  
  368. '*************************************************************************
  369. '*************************************************************************
  370. SUB FillCopyList STATIC
  371.  
  372.     ClearCopyList
  373.     LangType& = SendMessage(HWIN%, 2089, 0, 0)
  374.  
  375.     
  376.     IF CUSTOM1$ = "ON" THEN
  377.         AddSectionKeyFileToCopyList MOTYPE$, "ZA", SRCDIR$, MSENV$
  378.         AddSectionKeyFileToCopyList MOTYPE$, "ZB", SRCDIR$, DESTDIR$
  379.         AddSectionKeyFileToCopyList MOTYPE$, "ZC", SRCDIR$, DESTDIR$
  380.         AddSectionKeyFileToCopyList MOTYPE$, "ZD", SRCDIR$, MSENV$
  381.  
  382.         IF POINTER1$ = "ON" THEN
  383.             AddSectionKeyFileToCopyList MOTYPE$, "A", SRCDIR$, DESTDIR$
  384.             AddSectionKeyFileToCopyList "Cursor", "B", SRCDIR$, DESTDIR$ + "\EFFECTS"
  385.         ENDIF
  386.  
  387.         IF POINTER2$ = "ON" THEN
  388.             AddSectionKeyFileToCopyList MOTYPE$, "B", SRCDIR$, DESTDIR$
  389.         ENDIF
  390.  
  391.         IF POINTER3$ = "ON" THEN
  392.             AddSectionKeyFileToCopyList MOTYPE$, "C", SRCDIR$, DESTDIR$
  393.         ENDIF
  394.  
  395.         IF POINTER4$ = "ON" THEN
  396.             AddSectionKeyFileToCopyList MOTYPE$, "D", SRCDIR$, DESTDIR$
  397.         ENDIF
  398.  
  399.         IF POINTER5$ = "ON" THEN
  400.             AddSectionKeyFileToCopyList MOTYPE$, "E", SRCDIR$, DESTDIR$
  401.         ENDIF
  402.  
  403.         IF POINTER6$ = "ON" THEN
  404.             AddSectionKeyFileToCopyList MOTYPE$, "F", SRCDIR$, DESTDIR$
  405.             AddSectionKeyFileToCopyList "Cursor", "A", SRCDIR$, DESTDIR$ + "\EFFECTS"
  406.         ENDIF
  407.  
  408.         IF POINTER7$ = "ON" THEN
  409.             AddSectionKeyFileToCopyList MOTYPE$, "G", SRCDIR$, DESTDIR$
  410.         ENDIF
  411.  
  412.         IF POINTER8$ = "ON" THEN
  413.             AddSectionKeyFileToCopyList MOTYPE$, "H", SRCDIR$, DESTDIR$
  414.         ENDIF
  415.     ENDIF
  416.  
  417.     IF CUSTOM2$ = "ON" THEN
  418.         AddSectionKeyFileToCopyList MOTYPE$, "T", SRCDIR$, DESTDIR$
  419.         AddSectionKeyFileToCopyList MOTYPE$, "U", SRCDIR$, DESTDIR$
  420.     ENDIF
  421.  
  422.     IF CUSTOM3$ = "ON" THEN
  423.         AddSectionKeyFileToCopyList "MiscDos", "B", SRCDIR$, DESTDIR$
  424.         IF LangType = 65 THEN
  425.             AddSectionKeyFileToCopyList "DosLan", "A", SRCDIR$, DESTDIR$
  426.         ELSEIF LangType = 66 THEN
  427.             AddSectionKeyFileToCopyList "DosLan", "B", SRCDIR$, DESTDIR$
  428.         ELSEIF LangType = 67 THEN
  429.             AddSectionKeyFileToCopyList "DosLan", "C", SRCDIR$, DESTDIR$
  430.         ELSEIF LangType = 68 THEN
  431.             AddSectionKeyFileToCopyList "DosLan", "D", SRCDIR$, DESTDIR$
  432.         ELSEIF LangType = 69 THEN
  433.             AddSectionKeyFileToCopyList "DosLan", "E", SRCDIR$, DESTDIR$
  434.         ENDIF
  435.     ENDIF
  436.  
  437.     IF CUSTOM4$ = "ON" THEN
  438.         AddSectionKeyFileToCopyList "MiscDos", "A", SRCDIR$, DESTDIR$
  439.         IF LangType = 65 THEN
  440.             AddSectionKeyFileToCopyList "MiscDos", "ZA", SRCDIR$, DESTDIR$
  441.         ELSEIF LangType = 66 THEN
  442.             AddSectionKeyFileToCopyList "MiscDos", "ZB", SRCDIR$, DESTDIR$
  443.         ELSEIF LangType = 67 THEN
  444.             AddSectionKeyFileToCopyList "MiscDos", "ZC", SRCDIR$, DESTDIR$
  445.         ELSEIF LangType = 68 THEN
  446.             AddSectionKeyFileToCopyList "MiscDos", "ZD", SRCDIR$, DESTDIR$
  447.         ELSEIF LangType = 69 THEN
  448.             AddSectionKeyFileToCopyList "MiscDos", "ZE", SRCDIR$, DESTDIR$
  449.         ENDIF
  450.     ENDIF
  451.  
  452.     IF CUSTOM5$ = "ON" THEN
  453.         AddSectionKeyFileToCopyList "Common", "AA", SRCDIR$, DESTDIR$ 
  454.         IF LangType = 65 THEN
  455.             AddSectionKeyFileToCopyList "Common", "A", SRCDIR$, DESTDIR$ 
  456.         ELSEIF LangType = 66 THEN
  457.             AddSectionKeyFileToCopyList "Common", "B", SRCDIR$, DESTDIR$ 
  458.         ELSEIF LangType = 67 THEN
  459.             AddSectionKeyFileToCopyList "Common", "C", SRCDIR$, DESTDIR$ 
  460.         ELSEIF LangType = 68 THEN
  461.             AddSectionKeyFileToCopyList "Common", "D", SRCDIR$, DESTDIR$ 
  462.         ELSEIF LangType = 69 THEN
  463.             AddSectionKeyFileToCopyList "Common", "E", SRCDIR$, DESTDIR$ 
  464.         ENDIF
  465.     ENDIF
  466.  
  467.     IF CUSTOM6$ = "ON" THEN
  468.         IF MISC1$ = "ON" THEN
  469.             AddSectionKeyFileToCopyList "Misc", "A", SRCDIR$, DESTDIR$
  470.         ENDIF
  471.  
  472.         IF MISC2$ = "ON" THEN
  473.             AddSectionKeyFileToCopyList "Misc", "B", SRCDIR$, DESTDIR$
  474.         ENDIF
  475.     ENDIF
  476.  
  477.     ini$ = GetWindowsDir
  478.  
  479.     IF LangType = 65 THEN
  480.         AddIfVersion  "WinLan", "A", SRCDIR$, ini$
  481.         AddSectionKeyFileToCopyList "Common", "K", SRCDIR$, DESTDIR$
  482.     ELSEIF LangType = 66 THEN
  483.         AddIfVersion "WinLan", "B", SRCDIR$, ini$
  484.         AddSectionKeyFileToCopyList "Common", "L", SRCDIR$, DESTDIR$
  485.         AddSectionKeyFileToCopyList "Write", "L", SRCDIR$, DESTDIR$
  486.     ELSEIF LangType = 67 THEN
  487.         AddIfVersion "WinLan", "C", SRCDIR$, ini$
  488.         AddSectionKeyFileToCopyList "Common", "M", SRCDIR$, DESTDIR$
  489.         AddSectionKeyFileToCopyList "Write", "M", SRCDIR$, DESTDIR$
  490.     ELSEIF LangType = 68 THEN
  491.         AddIfVersion "WinLan", "D", SRCDIR$, ini$
  492.         AddSectionKeyFileToCopyList "Common", "N", SRCDIR$, DESTDIR$
  493.         AddSectionKeyFileToCopyList "Write", "N", SRCDIR$, DESTDIR$
  494.     ELSEIF LangType = 69 THEN
  495.         AddIfVersion "WinLan", "E", SRCDIR$, ini$
  496.         AddSectionKeyFileToCopyList "Common", "O", SRCDIR$, DESTDIR$
  497.         AddSectionKeyFileToCopyList "Write", "O", SRCDIR$, DESTDIR$
  498.     ENDIF
  499.         
  500.     szThe$ = GetVersionOfFile(GetWindowsDir +"SYSTEM\CTL3DV2.DLL")
  501.     IF Copy3D(szThe$) = 1 THEN
  502.         AddSectionFilesToCopyList "Sys16", SRCDIR$, GetWindowsDir +"SYSTEM"
  503.     ENDIF    
  504.     AddSectionFilesToCopyList "MsCom", SRCDIR$, MSENV$
  505.     AddSectionFilesToCopyList "Win16drv", SRCDIR$, MSENV$
  506.     AddIfVersion "Win16", "A", SRCDIR$, MSENV$
  507.     AddIfVersion "Win16", "B", SRCDIR$, MSENV$
  508.     AddSectionKeyFileToCopyList "Common", "X", SRCDIR$, DESTDIR$
  509.  
  510.  
  511. END SUB
  512. '*************************************************************************
  513.  
  514. '*************************************************************************
  515. '*************************************************************************
  516. SUB FillIniFile STATIC
  517.  
  518.     ini$ = MakePath(GetWindowsDir(), "SYSTEM.INI")
  519.     szSec$ = "keyboard"
  520.  
  521.     IF WINTYPE% = 3 THEN
  522.         CreateIniKeyValue ini$, "386Enh", szSec$, MakePath(MSENV$,"msinput.386"), cmoOverwrite
  523.         CreateIniKeyValue ini$, "386Enh", "mouse", "*vmd", cmoOverwrite
  524.     ENDIF
  525.     CreateIniKeyValue ini$, "boot", "mouse.drv", MakePath(MSENV$,"MSINPUT.DRV"), cmoOverwrite
  526.     CreateIniKeyValue ini$, "boot.description", "mouse.drv", "Microsoft IntelliPoint version 1.0", cmoOverwrite
  527.  
  528.     ini$ = MakePath(MSENV$,"MSINPUT.INI")
  529.     CreateIniKeyValue ini$, "Directories", "Mouse", DESTDIR$, cmoOverwrite
  530.     
  531.     szSec$ = "Mouse"
  532.     UpDateIniKeyValue ini$, szSec$, "ClickLock", "0"
  533.     UpDateIniKeyValue ini$, szSec$, "RotationAngle", "0"
  534.     IF 1 = SwapMouseButton(0) THEN
  535.         x% = SwapMouseButton(1)
  536.         x% = WriteProfileString("windows", "SwapMouseButtons", "no")
  537.         UpDateIniKeyValue ini$, szSec$, "PrimaryButton", "3"
  538.         UpDateIniKeyValue ini$, szSec$, "SecondaryButton", "1"
  539.     ELSE
  540.         UpDateIniKeyValue ini$, szSec$, "PrimaryButton", "1"
  541.         UpDateIniKeyValue ini$, szSec$, "SecondaryButton", "3"
  542.     ENDIF
  543.     UpDateIniKeyValue ini$, szSec$, "HorizontalSensitivity", "50"
  544.     UpDateIniKeyValue ini$, szSec$, "VerticalSensitivity", "50"
  545.     CreateIniKeyValue ini$, szSec$, "ActiveAccelerationProfile", "2", cmoOverwrite
  546.     CreateIniKeyValue ini$, szSec$, "SplashScreen", "ON", cmoOverwrite
  547.  
  548.     szSec$ = "WindowsPointer"
  549.     UpDateIniKeyValue ini$, szSec$, "SnapTo", "OFF"
  550.     UpDateIniKeyValue ini$, szSec$, "ScreenWrap", "OFF"
  551.     UpDateIniKeyValue ini$, szSec$, "PointerSize", ""
  552.     UpDateIniKeyValue ini$, szSec$, "PointerColor", ""
  553.     UpDateIniKeyValue ini$, szSec$, "Growth", ""
  554.     UpDateIniKeyValue ini$, szSec$, "Threshold", ""
  555.     UpDateIniKeyValue ini$, szSec$, "Delay", ""
  556.     CreateIniKeyValue ini$, szSec$, "Sonar", "OFF", cmoNone
  557.     CreateIniKeyValue ini$, szSec$, "Locate", "OFF", cmoNone
  558.     CreateIniKeyValue ini$, szSec$, "SlowMotion", "OFF", cmoNone
  559.     CreateIniKeyValue ini$, szSec$, "ClickSaver", "OFF", cmoNone
  560.     CreateIniKeyValue ini$, szSec$, "PointerHide", "OFF", cmoNone
  561.     CreateIniKeyValue ini$, szSec$, "LineLock", "OFF", cmoNone
  562.     CreateIniKeyValue ini$, szSec$, "AppScroller", "OFF", cmoNone
  563.     CreateIniKeyValue ini$, szSec$, "Chord", "OFF", cmoNone
  564.     CreateIniKeyValue ini$, szSec$, "Secondary", "OFF", cmoNone
  565.  
  566.     szSec$ = "ToolBar"
  567.     CreateIniKeyValue ini$, szSec$, "AlwaysOnTop", "ON", cmoOverwrite
  568.     CreateIniKeyValue ini$, szSec$, "ReturnFocus", "ON", cmoOverwrite
  569.     CreateIniKeyValue ini$, szSec$, "HideTitleBar", "OFF", cmoOverwrite
  570.     CreateIniKeyValue ini$, szSec$, "MinimizeOnUse", "OFF", cmoOverwrite
  571.     CreateIniKeyValue ini$, szSec$, "ToolTips", "ON", cmoOverwrite
  572.     CreateIniKeyValue ini$, szSec$, "ToolbarPositionX", "140", cmoOverwrite
  573.     CreateIniKeyValue ini$, szSec$, "ToolbarPositionY", "125", cmoOverwrite
  574.     CreateIniKeyValue ini$, szSec$, "ToolbarRows", "1", cmoOverwrite
  575.     CreateIniKeyValue ini$, szSec$, "ToolbarColumns", "6", cmoOverwrite
  576.     CreateIniKeyValue ini$, szSec$, "MagnifyBtn", "ON", cmoOverwrite
  577.     CreateIniKeyValue ini$, szSec$, "AppScrollBtn", "ON", cmoOverwrite
  578.     CreateIniKeyValue ini$, szSec$, "LineLockBtn", "ON", cmoOverwrite
  579.     CreateIniKeyValue ini$, szSec$, "MouseSoundBtn", "OFF", cmoOverwrite
  580.     CreateIniKeyValue ini$, szSec$, "AlternateButtonBtn", "OFF", cmoOverwrite
  581.     CreateIniKeyValue ini$, szSec$, "Trails", "OFF", cmoOverwrite
  582.     CreateIniKeyValue ini$, szSec$, "ClickLockBtn", "OFF", cmoOverwrite
  583.     CreateIniKeyValue ini$, szSec$, "ControlPanelBtn", "ON", cmoOverwrite
  584.     CreateIniKeyValue ini$, szSec$, "HelpBtn", "ON", cmoOverwrite
  585.  
  586.     x% = SetSchemes (ini$)
  587.  
  588.     ini$ = ""
  589.     szSec$ = ""
  590.  
  591. END SUB
  592. '*************************************************************************
  593.  
  594. '*************************************************************************
  595. '*************************************************************************
  596. SUB SetPointStatus (TypeOp$, KeyOp$) STATIC
  597.  
  598.     if TypeOp$ = "ON" THEN
  599.         POINTCOST& = POINTCOST& + GetSectionKeySize(MOTYPE$, KeyOp$)
  600.     ELSE
  601.         POINTCOST& = POINTCOST& - GetSectionKeySize(MOTYPE$, KeyOp$)
  602.         IF POINTCOST& < 0 THEN
  603.             POINTCOST& = 0
  604.         ENDIF
  605.     ENDIF
  606.  
  607. END SUB
  608. '*************************************************************************
  609.  
  610. '*************************************************************************
  611. '*************************************************************************
  612. SUB SetMiscStatus (TypeOp$, KeyOp$) STATIC
  613.  
  614.     if TypeOp$ = "ON" THEN
  615.         MISCCOST& = MISCCOST& + GetSectionKeySize("Misc", KeyOp$)
  616.     ELSE
  617.         MISCCOST& = MISCCOST& - GetSectionKeySize("Misc", KeyOp$)
  618.         IF MISCCOST& < 0 THEN
  619.             MISCCOST& = 0
  620.         ENDIF
  621.     ENDIF
  622.  
  623. END SUB
  624. '*************************************************************************
  625.  
  626. '**
  627. '** Purpose:
  628. '**     Sets drive status info according to latest disk space calcs.
  629. '** Arguments:
  630. '**     none.
  631. '** Returns:
  632. '**     none.
  633. '*************************************************************************
  634. SUB SetDriveStatus STATIC
  635.  
  636.     drive$ = MID$(DESTDIR$, 1, 1)
  637.     ReplaceListItem DRIVETEXT$, 1, DESTDIR$
  638.     free& = COSTLIST& + POINTCOST& + TOOLCOST& + DOSDRV& + DOSPOINT& + ONHELP& + MISCCOST&
  639.     ReplaceListItem DRIVETEXT$, 2, STR$(free& / 1024) + " K"
  640.     free& = GetFreeSpaceForDrive(drive$)
  641.     ReplaceListItem DRIVETEXT$, 3, STR$(free& / 1024) + " K"
  642.  
  643. END SUB
  644.  
  645. '*************************************************************************
  646. '*************************************************************************
  647. SUB AddIfVersion (szSec$, szKey$, szSrc$, szDest$) STATIC
  648.  
  649.     ver% = 1
  650.     szOurs$ = GetSectionKeyVersion (szSec$,szKey$)
  651.     szTheres$ = MakePath(szDest$, GetSectionKeyFilename(szSec$,szKey$))
  652.     szTheres$ = GetVersionOfFile(szTheres$)
  653.  
  654.     IF GetVersionNthField (szOurs$, 1) < GetVersionNthField (szTheres$, 1) THEN
  655.         ver% = 0
  656.     ELSEIF GetVersionNthField (szOurs$, 1) = GetVersionNthField (szTheres$, 1) THEN
  657.         IF GetVersionNthField (szOurs$, 2) < GetVersionNthField (szTheres$, 2) THEN
  658.             ver% = 0
  659.         ELSEIF GetVersionNthField (szOurs$, 2) = GetVersionNthField (szTheres$, 2) THEN
  660.             IF GetVersionNthField (szOurs$, 3) < GetVersionNthField (szTheres$, 3) THEN
  661.                 ver% = 0
  662.             ELSEIF GetVersionNthField (szOurs$, 3) = GetVersionNthField (szTheres$, 3) THEN
  663.                 IF GetVersionNthField (szOurs$, 4) < GetVersionNthField (szTheres$, 4) THEN
  664.                     ver% = 0
  665.                 ENDIF
  666.             ENDIF
  667.         ENDIF
  668.     ENDIF
  669.  
  670.     IF ver% = 1 THEN
  671.         AddSectionKeyFileToCopyList szSec$, szKey$, szSrc$, szDest$
  672.     ENDIF
  673.  
  674. END SUB
  675.  
  676. '*************************************************************************
  677. '*************************************************************************
  678. SUB UpDateIniKeyValue (szIni$, szSec$, szKey$, szVal$) STATIC
  679.  
  680.     sz$ = GetEnvVariableValue("MOUSE")
  681.  
  682.     IF sz$ = "" THEN
  683.         CreateIniKeyValue szIni$, szSec$, szKey$, szVal$, cmoOverwrite
  684.     ELSE
  685.         xval$ = GetIniKeyString(MakePath(sz$ ,"MOUSE.INI"), szSec$, szKey$)
  686.         IF xval$ = "" THEN
  687.             CreateIniKeyValue szIni$, szSec$, szKey$, szVal$, cmoOverwrite
  688.         ELSE
  689.             CreateIniKeyValue szIni$, szSec$, szKey$, xval$, cmoOverwrite
  690.         ENDIF
  691.     ENDIF
  692.  
  693. END SUB
  694. 
  695.